package cn.iocoder.yudao.module.exam.controller.admin.question.vo;

import cn.iocoder.yudao.module.exam.controller.admin.questionoption.vo.QuestionOptionSaveReqVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.math.BigDecimal;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 试题新增/修改 Request VO")
@Data
public class QuestionSaveReqVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "31509")
    private Long id;

    @Schema(description = "题目文本", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "题目文本不能为空")
    private String questionText;

    @Schema(description = "题目类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "题目类型不能为空")
    private Integer questionType;

    @Schema(description = "题目难度级别", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "题目难度级别不能为空")
    private Integer difficultyLevel;

    @Schema(description = "题目链接", example = "https://www.iocoder.cn")
    private String questionUrl;

    @Schema(description = "试题id", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long bankId;

    @Schema(description = "判断题 正确或者错误")
    private Integer corrected;

    @Schema(description = "正确答案关键字")
    private String answerKey;

    @Schema(description = "正确答案图片地址")
    private String answerUrl;
    @Schema(description = "题目解析")
    private String analysis;

    @Schema(description = "题目解析地址")
    private String analysisUrl;
    @Schema(description = "题目分值", example = "12")
    private BigDecimal questionScore;
    @Schema(description = "选项", requiredMode = Schema.RequiredMode.REQUIRED)
    private List<QuestionOptionSaveReqVO> selectedOptions;

}